Web performance has been a key focus of research. User-perceived latency has a strong bearing on how long users will stay at a Web site and the frequency with which they return to the site. An entity that is trying to retain users at a Web site thus has a strong incentive to reduce the “time to glass” (the delay between the browser click and the delivery and display of the resource at the user's screen). For Web sites that have a critical need to retain users past the first page, there is a strong motivation to deliver the content quickly to the user. Given the vagaries of network delays, presence of intermediaries, and the users' connectivity, there is a need for servers to efficiently transmit content to clients.
A client may be interested in downloading only the HTML contents of the base page without any of the images in the container document. Often that is due to a poor level of client connectivity. Browsers permit this by allowing users to turn off images before downloading the resource. A page will typically load much faster if additional requests are not needed for the embedded objects. Depending on the number and sizes of the embedded objects, the overall download time of a container document can vary significantly. The download time of a container document (a base page plus all its embedded objects) has a visible impact on the user's perception of the Web site. A significant portion of users dissatisfied with the download time for a page may move on to another Web site. If a user with poor connectivity must wait a long time to load the most often visited pages on a Web site, the user might decide to stop visiting the site on a regular basis.
The present invention focuses on learning about the quality of a connection between a client and a server and on using that information in making a decision on how to serve content. The client's connectivity information may be obtained based on information already available at the server, or, alternatively, may be obtained actively by gathering information about the more dynamic components of the end-to-end delay, such as the bandwidth of the client or delays in the network.
Among the key reasons behind a client experiencing poor performance are low bandwidth, high latency, slow client, network congestion, delay at intermediaries between client and server, and a poorly equipped server. The present disclosure addresses those situations in which the server itself is not the primary performance bottleneck; otherwise the server could simply be upgraded. A server may not be able to isolate the reasons for a given client experiencing poor performance, but can nevertheless take remedial action. Improved performance in serving the content might result in the user being satisfied with the delivery speed and help retain the client for the Web site. Simply downgrading the quality of the content to achieve those results may not be as effective in retaining a client as other means that do not affect content quality.
The concept of dynamically adjusting multimedia content in a Web page depending on effective bandwidth and/or latency is suggested in U.S. Pat. No. 6,243,761 to Mogul et al. That patent discloses a method whereby a Web server monitors a variety of network characteristics (such as round trip time, resource utilization) between itself and the client and correspondingly adjusts the fidelity, or quality, of the content returned to the client so as to adjust the required bandwidth. The content is adjusted, for example, by adjusting image size, image resolution, or by compression. Each of those operations reduces the quantity of data to be sent to the client. In each case, however, the content arriving at the client has a corresponding reduction in quality as compared with the original content delivered to high-bandwidth users. Such a reduction in the quality of content may reduce client interest in a Web site, thereby reducing the effect of a decreased response time. Mogul et al. also teach making performance observations from previous connections to the same client, or from connections to clients that are “close” to each other.
In a paper entitled “SPAND: Shared Passive Network Performance Discovery,” USENIX Symposium on Internet Technologies and Systems, Monterey, Calif., USA, December 1997, the authors disclose a system wherein a group of clients estimate cost to retrieve resources and share it amongst themselves. No action is taken on the part of the server.
Other work, presented in “Integrating User-Perceived Quality into Web Server Design,” Proceedings of the Ninth Annual World Wide Web Conference, Amsterdam, Netherlands, estimates the tolerance of users for different levels of Web Quality of Service (QoS) in e-commerce. That work proposes that scheduling of requests at a Web server should take user expectations into account.
There is therefore a need for a method and system enabling a server to measure client performance and to adjust its actions to optimize content delivery to that client, without downgrading the content itself.